#include <iostream>
#include <cassert>
#include <vector>
#include <algorithm>
#include <sstream>
#include <list>
#include <stack>
#include <queue>
#include <map>
using namespace std;

struct ListNode {
     int val;
     ListNode *next;
     ListNode() : val(0), next(nullptr) {}
     ListNode(int x) : val(x), next(nullptr) {}
     ListNode(int x, ListNode *next) : val(x), next(next) {}
};
//打印链表
void displayList(ListNode *p){
    while( p ){
        cout<< p->val ;
        p = p->next;
        if(p) cout<<"->";
    }
    cout<<endl;
}

//解决方案类
class Solution {
public:
    void reverseString(vector<char>& s) {
        int left = 0, right = s.size()-1;
        while(left < right ) {
            char t = s[right];
            s[right] = s[left];
            s[left] = t;
            left++;
            right--;
        }
    }
};
int main(){
    Solution sp;
    vector <char> c = {'a','b','c','d'};
    for(auto i:c)cout<<i<<" ";cout<<endl;
    sp.reverseString(c);
    for(auto i:c)cout<<i<<" ";cout<<endl;
    return 0;
}